Formal Proof of Abstract Model Checking of Concurrent Garbage Collection
نویسندگان
چکیده
Abstract model checking is a method to verify properties of a state transition system by first making abstraction of the system and then applying model checking on the abstract system. If the employed abstraction relation satisfies certain conditions that guarantee the correctness of the abstraction, verification results of the abstract system can be shifted to the original one. However, the correctness of abstraction is not always easy to verify. In our previous work, we applied abstract model checking on concurrent garbage collection algorithms, but the correctness of the abstraction was not formally proven. In this paper, we formalize the abstraction and the underlying model for concurrent garbage collection algorithms, and formally prove the correctness of the abstraction using the proof assistant, HOL.model checking is a method to verify properties of a state transition system by first making abstraction of the system and then applying model checking on the abstract system. If the employed abstraction relation satisfies certain conditions that guarantee the correctness of the abstraction, verification results of the abstract system can be shifted to the original one. However, the correctness of abstraction is not always easy to verify. In our previous work, we applied abstract model checking on concurrent garbage collection algorithms, but the correctness of the abstraction was not formally proven. In this paper, we formalize the abstraction and the underlying model for concurrent garbage collection algorithms, and formally prove the correctness of the abstraction using the proof assistant, HOL.
منابع مشابه
Mechanical Verification of a Garbage Collector
We describe how the PVS verification system has been used to verify a safety property of a garbage collection algorithm, originally suggested by Ben-Ari. The safety property basically says that “nothing but garbage is ever collected”. Although the algorithm is relatively simple, its parallel composition with a “user” program that (nearly) arbitrarily modifies the memory makes the verification q...
متن کاملAbstraction of Link Structures by Regular Expressions and Abstract Model Checking of Concurrent Garbage Collection
متن کامل
Verifying a Concurrent Garbage Collector Using a Rely-Guarantee Methodology
Concurrent garbage collection algorithms are an emblematic challenge in the area of concurrent program verification. In this paper, we address this problem by proposing a mechanized proof methodology based on the popular RelyGuarantee (RG) proof technique. We design a specific compiler intermediate representation (IR) with strong type guarantees, dedicated support for abstract concurrent data s...
متن کاملModel Checking via ΓCFA
We present and discuss techniques for performing and improving the model-checking of higher-order, functional programs based upon abstract interpretation [4]. We use continuation-passing-style conversion to produce an abstractable state machine, and then utilize abstract garbage collection and abstract counting [9] to indirectly prune false branches in the abstract state-to-state transition gra...
متن کاملVeriication of Parallel Garbage Collection by Abstract Model Checking (extended Abstract)
By abstract model checking, we veriied several algorithms for parallel garbage collection with a single abstraction mapping. An abstract heap was deened as a set of abstract cells. In order to deene abstract transitions on abstract heaps, procedures called lters were introduced, which delete inconsistent abstract cells from an abstract heap. We also did an experiment of nding new algorithms by ...
متن کامل